package com.ozo.easy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ozo.easy.common.model.*;
import com.ozo.easy.entity.SysNotice;
import com.ozo.easy.pojo.vo.SysNoticeDetailVO;
import com.ozo.easy.pojo.dto.SysNoticeSaveDTO;
import com.ozo.easy.pojo.vo.SysNoticeVO;
import com.ozo.easy.pojo.dto.SysNoticeQueryDTO;

import java.util.List;

/**
 * 通知 服务类
 *
 * @author ozo
 * @version 1.0
 * @date 2025-02-06 16:35:26
 */
public interface ISysNoticeService extends IService<SysNotice> {

    /**
     * 添加通知
     *
     * @param saveDTO
     */
    void add(SysNoticeSaveDTO saveDTO);

    /**
     * 删除通知
     *
     * @param batchDTO
     */
    void remove(BaseBatchDTO<Long> batchDTO);

    /**
     * 编辑通知
     *
     * @param saveDTO
     */
    void edit(SysNoticeSaveDTO saveDTO);

    /**
     * 通知分页
     *
     * @param basePage
     * @param queryDTO
     * @return
     */
    PageResult<SysNoticeVO> page(BasePage basePage, SysNoticeQueryDTO queryDTO);

    /**
     * 最新通知
     *
     * @param limit
     * @return
     */
    List<SysNoticeVO> listNew(Integer limit);

    /**
     * 通知详情
     *
     * @param id
     * @return
     */
    SysNoticeDetailVO detail(Long id);

}
